home *** CD-ROM | disk | FTP | other *** search
/ Champak 50 / Volume 50 - JOGO DISK .iso / Games / moonstonemadness.swf / scripts / __Packages / LevelManager.as < prev    next >
Encoding:
Text File  |  2007-09-27  |  6.1 KB  |  154 lines

  1. class LevelManager extends Library.DispatcherBase
  2. {
  3.    var mcRef;
  4.    var oCurrentLevel;
  5.    var oMainSideScroller;
  6.    var oTakGround;
  7.    static var oCtrl;
  8.    static var DEPTH_MAIN_SS = 5;
  9.    static var LAYER_ID_BG1 = "Background1";
  10.    static var LAYER_ID_BG2 = "Background2";
  11.    static var LAYER_ID_RUNLEVEL = "RunLevel";
  12.    static var LAYER_ID_FRONT = "Front";
  13.    static var BASE_FLOOR = 345;
  14.    static var TAK_GROUND_START_X = -50;
  15.    static var TAK_GROUND_START_Y = 300;
  16.    function LevelManager(__mcRef, __oLevel)
  17.    {
  18.       super();
  19.       this.mcRef = __mcRef;
  20.       LevelManager.oCtrl = this;
  21.       this.oCurrentLevel = __oLevel;
  22.       Main.Instance.doAddListener(this);
  23.       this.doBuildLevel();
  24.    }
  25.    static function get Instance()
  26.    {
  27.       return LevelManager.oCtrl;
  28.    }
  29.    function onTakReachEnd()
  30.    {
  31.       Game.Instance.onTakReachEnd();
  32.    }
  33.    function doAddMSObstacle(__mcObject, _nPercent)
  34.    {
  35.       var _loc2_ = this.oMainSideScroller.getLayerFor(__mcObject);
  36.       var _loc3_ = new MoonStoneObstacle(__mcObject,_loc2_,_nPercent);
  37.    }
  38.    function doAddBird(__mcObject)
  39.    {
  40.       var _loc2_ = this.oMainSideScroller.getLayerFor(__mcObject);
  41.       var _loc3_ = new Bird(__mcObject,_loc2_);
  42.    }
  43.    function doAddFrontExplodableObstacle(__mcObject, __sLinkage)
  44.    {
  45.       var _loc3_ = this.oMainSideScroller.getLayerFor(__mcObject);
  46.       var _loc5_ = Library.Utils.MoreMath.getBoundsCenter(__mcObject.getBounds(_loc3_.Ref));
  47.       __mcObject.swapDepths(_loc3_.getRemoveDepth(__mcObject));
  48.       __mcObject.removeMovieClip();
  49.       var _loc2_ = _loc3_.doAttachVisual(__sLinkage);
  50.       this.doPutInFront(_loc2_);
  51.       _loc2_._x = _loc5_.x;
  52.       _loc2_._y = _loc5_.y;
  53.       var _loc6_ = new ExplodableObstacle(_loc2_,_loc3_);
  54.    }
  55.    function doAddExplodableObstacle(__mcObject)
  56.    {
  57.       var _loc2_ = this.oMainSideScroller.getLayerFor(__mcObject);
  58.       var _loc3_ = new ExplodableObstacle(__mcObject,_loc2_);
  59.    }
  60.    function doAddEndTrigger(__mcObject)
  61.    {
  62.       var _loc2_ = this.oMainSideScroller.getLayerFor(__mcObject);
  63.       var _loc3_ = new EndTrigger(__mcObject,_loc2_);
  64.    }
  65.    function doAddMoonStone(__mcObject)
  66.    {
  67.       var _loc2_ = this.oMainSideScroller.getLayerFor(__mcObject);
  68.       var _loc3_ = new MoonStone(__mcObject,_loc2_);
  69.    }
  70.    function doAddMiniStone(__mcObject)
  71.    {
  72.       var _loc2_ = this.oMainSideScroller.getLayerFor(__mcObject);
  73.       var _loc3_ = new MiniStone(__mcObject,_loc2_);
  74.    }
  75.    function doAddFeather(__mcObject)
  76.    {
  77.       var _loc2_ = this.oMainSideScroller.getLayerFor(__mcObject);
  78.       var _loc3_ = new Feather(__mcObject,_loc2_);
  79.    }
  80.    function doAddPepper(__mcObject)
  81.    {
  82.       var _loc2_ = this.oMainSideScroller.getLayerFor(__mcObject);
  83.       var _loc3_ = new Pepper(__mcObject,_loc2_);
  84.    }
  85.    function doPutInFront(__mc)
  86.    {
  87.       var _loc2_ = this.oMainSideScroller.getLayerFor(__mc);
  88.       _loc2_.doPutInFront(__mc);
  89.    }
  90.    function doResumeFromMiniGame()
  91.    {
  92.       this.doResume();
  93.       this.oTakGround.onBackFromMiniGame();
  94.    }
  95.    function doDestroy()
  96.    {
  97.       this.oMainSideScroller.doDestroy();
  98.       this.oTakGround.doDestroy();
  99.       delete this.oTakGround;
  100.       delete this.oCurrentLevel;
  101.       delete LevelManager.oCtrl;
  102.       delete this.oMainSideScroller;
  103.    }
  104.    function doBuildLevel()
  105.    {
  106.       this.oMainSideScroller = new SideScroller.SideScrollerManager(this.mcRef,Game.STAGE_WIDTH,Game.STAGE_HEIGHT,this);
  107.       this.oMainSideScroller.setScrollMethod(SideScroller.SideScrollerManager.SCROLL_ONE_WAY);
  108.       this.oMainSideScroller.setScrollSpeed(0.15);
  109.       if(this.oCurrentLevel.LevelNumber == 3 && this.oCurrentLevel.LevelType != BaseLevelData.LEVEL_TYPE_USER)
  110.       {
  111.          var _loc7_ = this.oMainSideScroller.doAddLayer("FixedYellow",SideScroller.Layer.TYPE_STATIC,SideScroller.Layer.METHOD_RANDOM);
  112.          _loc7_.doAddPanelLinkage("Amb3_mcBgFixed");
  113.       }
  114.       var _loc4_ = this.oMainSideScroller.doAddLayer(LevelManager.LAYER_ID_BG1,SideScroller.Layer.TYPE_MOVING,SideScroller.Layer.METHOD_RANDOM);
  115.       _loc4_.doAddPanelLinkage(this.oCurrentLevel.sPanelBg1);
  116.       _loc4_.ParalaxRatioX = 0.2;
  117.       _loc4_.ParalaxRatioY = 0.1;
  118.       _loc4_.setOverlap(1.5);
  119.       var _loc3_ = this.oMainSideScroller.doAddLayer(LevelManager.LAYER_ID_BG2,SideScroller.Layer.TYPE_MOVING,SideScroller.Layer.METHOD_RANDOM);
  120.       _loc3_.doAddPanelLinkageSet(Library.Utils.Tools.doCopyArray(this.oCurrentLevel.aPanelBg2));
  121.       _loc3_.ParalaxRatioX = 0.5;
  122.       if(this.oCurrentLevel.LevelNumber == 1 || this.oCurrentLevel.LevelNumber == 3 || this.oCurrentLevel.LevelType != BaseLevelData.LEVEL_TYPE_USER)
  123.       {
  124.          _loc3_.ParalaxRatioY = 0.3;
  125.       }
  126.       _loc3_.setOverlap(1.5);
  127.       var _loc2_ = this.oMainSideScroller.doAddLayer(LevelManager.LAYER_ID_RUNLEVEL,SideScroller.Layer.TYPE_MOVING,SideScroller.Layer.METHOD_ORDERED);
  128.       _loc2_.BaseFloor = this.oCurrentLevel.nFloorHeight;
  129.       _loc2_.setOverlap(1.5);
  130.       if(this.oCurrentLevel.sPanelStart != undefined)
  131.       {
  132.          _loc2_.doAddPanelLinkage(this.oCurrentLevel.sPanelStart);
  133.       }
  134.       _loc2_.doAddPanelLinkageSet(this.oCurrentLevel.Panels);
  135.       if(this.oCurrentLevel.sPanelEnd != undefined)
  136.       {
  137.          _loc2_.doAddPanelLinkage(this.oCurrentLevel.sPanelEnd);
  138.       }
  139.       this.oMainSideScroller.setDefaultLayer(LevelManager.LAYER_ID_RUNLEVEL);
  140.       var _loc6_ = _loc2_.doAttachVisual("Dynamic_TakGround");
  141.       _loc6_._x = LevelManager.TAK_GROUND_START_X;
  142.       _loc6_._y = LevelManager.TAK_GROUND_START_Y;
  143.       this.oTakGround = new TakGround(_loc6_,_loc2_);
  144.       this.oMainSideScroller.CameraManager.doLockOn(this.oTakGround);
  145.       if(this.oCurrentLevel.LevelNumber == 3 && this.oCurrentLevel.LevelType != BaseLevelData.LEVEL_TYPE_USER)
  146.       {
  147.          var _loc5_ = this.oMainSideScroller.doAddLayer(LevelManager.LAYER_ID_FRONT,SideScroller.Layer.TYPE_MOVING,SideScroller.Layer.METHOD_RANDOM);
  148.          _loc5_.doAddPanelLinkage("Amb3_Panel_Front");
  149.          _loc5_.ParalaxRatioX = 1;
  150.          _loc5_.ParalaxRatioY = 1;
  151.       }
  152.    }
  153. }
  154.